package notdigui;

/**
 *
 * @author Lenovo-
 */
public class TestF {
    public static void main(String[] args) {
        System.out.println(getFf(4));
    }

    /**
     * 斐波那契数列非递归方法
     */
    public static long getFf(int n) {
        //x1为第一个月兔子有多少对
        //x2为第二个月兔子有多少对
        int x1 = 1, x2 = 2, count = 0;
        for (int i =3; i <= n; i++) {
            //count为前两个月兔子对数的和
            count = x1 + x2;
            //将前一个月的兔子对数赋给前前一个月
            x1 = x2;
            //将本月的兔子对数赋给前一个月
            x2 = count;
        }
        //n为第一个月时返回1对
        if (n == 1) {
            return x1;
        }
        //n为第二个月时返回2对
        if (n == 2) {
            return x2;
        }
        //返回目标月兔子对数
        return count;
    }
}
